'************************************************************************************
' Copyright © 2003-2005 Kathleen Dollard
'
' This software is provided 'as-is', without any express or implied warranty. In no 
' event will the author be held liable for any damages arising from the use of this
' software.
' 
' You may use this software for any purpose, including commercial applications, 
' and you may redistribute this software as part of application delivery: however, 
' this copyright notice may not be removed and you may not otherwise redistribute 
' this software directly other than providing a link to wwww.gendotnet.com. 
'
' You may alter this software to better server your needs (I'd like to hear about your 
' changes in order to make the software better). If you alter the softwre, you must  
' clearly mark it as altered and must not be misrepresented as the original software.
' nor wholly your original work.
'*************************************************************************************
Option Strict On
Option Explicit On 

Imports System
Namespace KADGen.Utility
#Region "Output Info"
   Public Structure OutputInfo
      Public StartTime As DateTime  'Fields aren't displayed by default in the grid
      Public EndTime As DateTime
      Private mSection As String
      Private mDirectiveName As String
      Private mDirectiveType As String
      Private mSelectFile As String
      Private mInputFile As String
      Private mTemplate As String
      Private mStatus As String
      Private mOutputRule As String
      Private mCountSelected As Int32
      Private mCountCreated As Int32
      Private mCountOutput As Int32

      Public Property Section() As String
         Get
            Return mSection
         End Get
         Set(ByVal Value As String)
            mSection = Value
         End Set
      End Property

      Public Property DirectiveName() As String
         Get
            Return mDirectiveName
         End Get
         Set(ByVal Value As String)
            mDirectiveName = Value
         End Set
      End Property

      Public Property DirectiveType() As String
         Get
            Return mDirectiveType
         End Get
         Set(ByVal Value As String)
            mDirectiveType = Value
         End Set
      End Property

      Public Property SelectFile() As String
         Get
            Return mSelectFile
         End Get
         Set(ByVal Value As String)
            mSelectFile = Value
         End Set
      End Property

      Public Property InputFile() As String
         Get
            Return mInputFile
         End Get
         Set(ByVal Value As String)
            mInputFile = Value
         End Set
      End Property

      Public Property Template() As String
         Get
            Return mTemplate
         End Get
         Set(ByVal Value As String)
            mTemplate = Value
         End Set
      End Property

      Public Property Status() As String
         Get
            Return mStatus
         End Get
         Set(ByVal Value As String)
            mStatus = Value
         End Set
      End Property

      Public Property OutputRule() As String
         Get
            Return mOutputRule
         End Get
         Set(ByVal Value As String)
            mOutputRule = Value
         End Set
      End Property

      Public Property CountSelected() As Int32
         Get
            Return mCountSelected
         End Get
         Set(ByVal Value As Int32)
            mCountSelected = Value
         End Set
      End Property

      Public Property CountCreated() As Int32
         Get
            Return mCountCreated
         End Get
         Set(ByVal Value As Int32)
            mCountCreated = Value
         End Set
      End Property

      Public Property CountOutput() As Int32
         Get
            Return mCountOutput
         End Get
         Set(ByVal Value As Int32)
            mCountOutput = Value
         End Set
      End Property

      Public ReadOnly Property Elapsed() As TimeSpan
         Get
            Return EndTime.Subtract(StartTime)
         End Get
      End Property

   End Structure
#End Region
End Namespace